package com.cloudkinto.service.firstvesselorder.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author zhangyy
 * @date 2020/9/16 9:30
 * @description:
 */
@Data
@ApiModel
public class FirstVesselOrderAddReq {
    @ApiModelProperty("状态")
    private Long status;

    /**
     * 入货仓库
     */
    @ApiModelProperty("入货仓库")
    @NotNull(message = "请填写入货仓库")
    private Long storageId;

    /**
     * fba仓库
     */
    @ApiModelProperty("fba仓库")
    @NotNull(message = "请填写入fba仓库")
    private Long fbaStorageId;

    /**
     * 报关资料
     */
    @ApiModelProperty("报关资料")
    private Long declarationInformationFileId;

    /**
     * 1:是0:否
     */
    @ApiModelProperty("1:是0:否")
    private Integer isCloudkintoExport;

    /**
     * 清关抬头
     */
    @ApiModelProperty("清关抬头")
    private String dutyParagraph;

    /**
     * 运输方式：来自码表
     */
    @ApiModelProperty("运输方式：来自码表")
    private Long logisticsType;

    /**
     * 报关方式 1：退税报关 2：非退税
     */
    @ApiModelProperty("报关方式 1：退税报关 2：非退税")
    @NotNull(message = "请填选择报关方式")
    private Integer customsType;

    /**
     * 是否购买保险
     */
    @ApiModelProperty("是否购买保险")
    @NotNull(message = "请填选择是否购买保险")
    private Integer isPurchaseOfInsurance;

    /**
     * 清关资料
     */
    @ApiModelProperty("清关资料")
    private Long customsClearanceFileId;

    /**
     * 配送方式1：上门取件 2送货到仓
     */
    @ApiModelProperty("配送方式1：上门取件 2送货到仓")
    @NotNull(message = "请填选择配送方式")
    private Integer distributionType;

    /**
     * 送货时间
     */
    @ApiModelProperty("送货时间")
    private String deliverTime;

    /**
     * 保额
     */
    @ApiModelProperty("保额")
    private Double coverage;

    /**
     * 保费
     */
    @ApiModelProperty("保费")
    private Double coverageFee;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;

    /**
     * 取件时间
     */
    @ApiModelProperty("取件时间")
    private String pickDate;

    /**
     * 取件区间
     */
    @ApiModelProperty("取件区间")
    private String pickTime;

    /**
     * 取件地址
     */
    @ApiModelProperty("取件地址")
    private String receiveAddress;

    /**
     * 联系方式
     */
    @ApiModelProperty("联系方式")
    private String contactInformation;

    /**
     * 商品箱标
     */
    @ApiModelProperty("商品箱标")
    private Long commodityFileId;

    @NotEmpty(message = "请填写包裹信息")
    private List<FirstVesselOrderPackageAddReq> packageList;
}
